package dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.util.ArrayList;
import java.util.List;
import uteis.Constantes;
import model.FormaPagto;

public class FormaPagtoJDBCCadastro implements FormaPagtoCadastroDAO {

	Connection conexao;

	public FormaPagtoJDBCCadastro(Connection conexao) {
		this.conexao = conexao;
	}

	public String salvar(FormaPagto formapagto) {
		String sqlquery = "insert into FORMAPAGTO(NMFORMAPAGTO, BOLGERADUPL, USUINCLUSAO, COMPINCLUSAO, USUALTERACAO, COMPALTERACAO, DTINCLUSAO, "
				+ "DTALTERACAO, CDEMPRESA)" + " values(?,?,?,?,?,?,?,?,?);";

		PreparedStatement pstmt;
		try {

			pstmt = this.conexao.prepareStatement(sqlquery);
			pstmt.setString(1, formapagto.getNmformapagto());
			pstmt.setString(2, formapagto.getBolgeradupl());
			pstmt.setString(3, formapagto.getUsuinclusao());
			pstmt.setString(4, formapagto.getCompinclusao());
			pstmt.setString(5, formapagto.getUsualteracao());
			pstmt.setString(6, formapagto.getCompalteracao());
			pstmt.setDate(7, new java.sql.Date(formapagto.getDtinclusao()
					.getTime()));
			// pstmt.setTime(8, new
			// java.sql.Time(formapagto.getHrinclusao().getTime()));
			pstmt.setDate(8, new java.sql.Date(formapagto.getDtalteracao()
					.getTime()));
			// pstmt.setTime(10, new
			// java.sql.Time(formapagto.getHralteracao().getTime()));
			pstmt.setString(9, Constantes.cdempresas);
			// System.out.println("comando sql:"+sqlquery+formapagto.getBolgeradupl());
			pstmt.execute();

			return ("success");

		} catch (Exception e) {
			e.printStackTrace();
			return ("error");
		}
	}

	public ResultSet ResultFormaPagto(String nmformapagto) {

		// List<String> result = new ArrayList<String>();
		ResultSet valueformapagto = null;
		// if (!nmformapagto.trim().equals("")) {
		String sql = "SELECT CDFORMAPAGTO, NMFORMAPAGTO FROM FORMAPAGTO WHERE NMFORMAPAGTO like '%"
				+ nmformapagto
				+ "%' AND CDEMPRESA = "
				+ Constantes.cdempresas
				+ " ORDER BY NMFORMAPAGTO ASC";
		try {
			java.sql.Statement stmt = conexao.createStatement();
			valueformapagto = stmt.executeQuery(sql);

		} catch (Exception e) {
			e.printStackTrace();
		}
		/**
		 * }else { System.out.println("VALOR EM BRANCO "+nmformapagto+
		 * " ------------- "+result ); }
		 **/
		return valueformapagto;
	}

	public List<String> ListarFormaPagto(String nmformapagto) {

		List<String> result = new ArrayList<String>();
		if (!nmformapagto.trim().equals("")) {

			String sql = "SELECT NMFORMAPAGTO FROM FORMAPAGTO WHERE NMFORMAPAGTO like '%"
					+ nmformapagto
					+ "%' AND CDEMPRESA = "
					+ Constantes.cdempresas + " ORDER BY NMFORMAPAGTO ASC";
			String snmformapagto = "";
			try {
				java.sql.Statement stmt = conexao.createStatement();
				ResultSet valueformapagto = stmt.executeQuery(sql);

				valueformapagto.first();
				while (!valueformapagto.isAfterLast()) {
					snmformapagto = valueformapagto.getString("NMFORMAPAGTO");
					result.add(snmformapagto);
					valueformapagto.next();
				}

			} catch (Exception e) {
				e.printStackTrace();
			}
		} else {
			System.out.println("VALOR EM BRANCO " + nmformapagto
					+ " ------------- " + result);
		}
		return result;
	}

	public boolean localizarFormaPagto(String formapagto) {
		String sqlquery = "SELECT NMFORMAPAGTO FROM FORMAPAGTO WHERE (NMFORMAPAGTO like '"
				+ formapagto
				+ "' and CDEMPRESA = "
				+ Constantes.cdempresas
				+ ") ORDER BY NMFORMAPAGTO ASC;";
		try {
			String valor = "";
			java.sql.Statement stmt = conexao.createStatement();
			ResultSet rs = null;
			rs = stmt.executeQuery(sqlquery);
			while (rs.next()) {
				valor = rs.getString("NMFORMAPAGTO");
			}
			if (valor.equals("")) {
				return (false);
			} else {
				return (true);
			}

		} catch (Exception e) {
			e.printStackTrace();
			return (false);
		}
	}

	public String LocalizaFormaPagto(String nmformapagto) {

		String result = "";
		if (!nmformapagto.trim().equals("")) {

			String sql = "SELECT CDFORMAPAGTO FROM FORMAPAGTO WHERE (NMFORMAPAGTO like '"
					+ nmformapagto
					+ "' and CDEMPRESA = "
					+ Constantes.cdempresas + ") ORDER BY CDFORMAPAGTO ASC;";
			String scdformapagto = "";
			try {
				java.sql.Statement stmt = conexao.createStatement();
				ResultSet valuesformapagto = stmt.executeQuery(sql);

				valuesformapagto.first();
				scdformapagto = valuesformapagto.getString("CDFORMAPAGTO");
				// result.add(scdregistro);
				result = (scdformapagto);
				System.out.println("FORMA PAGTO " + scdformapagto
						+ " ------------- " + result);

			} catch (Exception e) {
				e.printStackTrace();
			}
		} else {
			System.out.println("VALOR EM BRANCO " + nmformapagto
					+ " ------------- " + result);
		}
		return result;
	}

	public ResultSet editarConsulta(String idcliente) {

		String sql = "select cl.CDEMPRESA CDEMPRESA, cl.CDSERVICO CDSERVICO, TP.NMTPSERVICO NMTPSERVICO, u.NOMEUSUARIO NOMEUSUARIO "
				+ "from  cliente_servico cl, servico s, tpservico tp, db_connect.usuarios u "
				+ "where CDCLIENTE = "
				+ idcliente
				+ " and CL.CDSERVICO = S.CDSERVICO "
				+ "and s.CDTPSERVICO = tp.CDTPSERVICO and u.CDUSUARIO = cl.CDUSUARIO; ";

		ResultSet value = null;
		try {
			java.sql.Statement stmt = conexao.createStatement();
			value = stmt.executeQuery(sql);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return value;
	}

	public void editar(FormaPagto formapagto) {
	}

	public void excluir(FormaPagto formapagto) {
	}

	public List<FormaPagto> ListarFormaPagtoT() {
		return null;
	}

}